From c4576c3a85edd7925737a3ade404a63e74831d41 Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Fri, 20 Jun 2008 11:10:37 +0000 Subject: [PATCH] Add gtk_plug_get_socket_window svn path=/trunk/; revision=20629 --- gtk/gtk.symbols | 1 + gtk/gtkplug.c | 37 ++++++++++++++++++++++++++++++++++++- gtk/gtkplug.h | 2 ++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 3312b868bd..151fa0cabb 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2502,6 +2502,7 @@ gtk_plug_construct gtk_plug_construct_for_display gtk_plug_get_id gtk_plug_get_embedded +gtk_plug_get_socket_window gtk_plug_get_type G_GNUC_CONST gtk_plug_new gtk_plug_new_for_display diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index 9149be74fb..ff3f9131e1 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -71,6 +71,7 @@ typedef struct enum { PROP_0, PROP_EMBEDDED, + PROP_SOCKET_WINDOW }; enum { @@ -95,6 +96,9 @@ gtk_plug_get_property (GObject *object, case PROP_EMBEDDED: g_value_set_boolean (value, plug->socket_window != NULL); break; + case PROP_SOCKET_WINDOW: + g_value_set_object (value, plug->socket_window); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -148,6 +152,21 @@ gtk_plug_class_init (GtkPlugClass *class) FALSE, GTK_PARAM_READABLE)); + /** + * GtkPlug:socket-window: + * + * The window of the socket the plug is embedded in. + * + * Since: GSEAL-branch + */ + g_object_class_install_property (gobject_class, + PROP_SOCKET_WINDOW, + g_param_spec_object ("socket window", + P_("Socket Window"), + P_("The window of the socket the plug is embedded in"), + GDK_TYPE_WINDOW, + GTK_PARAM_READABLE)); + /** * GtkPlug::embedded: * @plug: the object on which the signal was emitted @@ -249,7 +268,7 @@ gtk_plug_get_id (GtkPlug *plug) * @plug: a #GtkPlug * * Determines whether the plug is embedded in a socket. - * + * * Return value: %TRUE if the plug is embedded in a socket **/ gboolean @@ -260,6 +279,22 @@ gtk_plug_get_embedded (GtkPlug *plug) return plug->socket_window != NULL; } +/** + * gtk_plug_get_socket_window: + * @plug: a #GtkPlug + * + * Retrieves the socket the plug is embedded in. + * + * Return value: the window of the socket, or %NULL + **/ +GdkWindow * +gtk_plug_get_socket_window (GtkPlug *plug) +{ + g_return_val_if_fail (GTK_IS_PLUG (plug), NULL); + + return plug->socket_window; +} + /** * _gtk_plug_add_to_socket: * @plug: a #GtkPlug diff --git a/gtk/gtkplug.h b/gtk/gtkplug.h index e09fd92f71..cb9040aff1 100644 --- a/gtk/gtkplug.h +++ b/gtk/gtkplug.h @@ -94,6 +94,8 @@ GdkNativeWindow gtk_plug_get_id (GtkPlug *plug); gboolean gtk_plug_get_embedded (GtkPlug *plug); +GdkWindow *gtk_plug_get_socket_window (GtkPlug *plug); + void _gtk_plug_add_to_socket (GtkPlug *plug, GtkSocket *socket_); void _gtk_plug_remove_from_socket (GtkPlug *plug, -- 2.30.2